package com.lsl.template_method;

/**
 *
 * AbstractClass不仅负责实现模版方法，还负责声明在模板方法中所使用的到的抽象方法。
 *
 * @author Zed
 * @description 只实现了display方法的抽象类
 * @date 2022/10/31 22:05
 */
public abstract class AbstractDisplay {
    /**
     * 交给子类去实现的抽象方法open
     */
    public abstract void open();

    /**
     * 交给子类去实现的抽象方法print
     */
    public abstract void print();

    /**
     * 交给子类去实现的抽象方法close
     */
    public abstract void close();

    public void display() {
        open();//首次打开
        for (int i = 0; i < 5; i++) {
            print();//循环调用5次print
        }
        close();//最后关闭。这就是display实现的功能
    }

}
